/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package caintra.Sapra.Pantalla.Prefactura;

import caintra.Sapra.Model.Practicante;
import nextapp.echo2.app.event.ActionEvent;
import nextapp.echo2.app.event.ActionListener;
import org.sapra.abc.dPracticante;

/**
 *
 * @author Administrador
 */
public class PrefacturaDetailController implements ActionListener{

    public PrefacturaDetailView pdv;
    public PrefacturaDetailController(PrefacturaDetailView pdv) {
        this.pdv=pdv;
        //this.pdv.table_detalle.addActionListener(this);
        init();
    }
    public void init(){
        try {
            pdv.key_practicante=pdv.key_practicante+" "+pdv.p_detalle.getNombre()+" "+pdv.p_detalle.getPaterno()+" "+pdv.p_detalle.getMaterno();
            pdv.nombre.setText(pdv.key_practicante);
            pdv.table_detalle.setLista_Practicante_Detalle(pdv.lista_detalle);
            if(this.pdv.prefactura.tipo_usuario == 1){
                this.pdv.b_seguro.setVisible(true);
                this.pdv.b_seguro.addActionListener(this);
            }else{
                this.pdv.b_seguro.setVisible(false);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }

    public void actionPerformed(ActionEvent e) {
         try {
            if(e.getActionCommand().equals("seguro")){
                    Actionseguro();
            }
        } catch (Exception exc) {
            exc.printStackTrace();
        }
    }
    public void Actionseguro(){
        if(! pdv.table_detalle.getSelectionModel().isSelectionEmpty()){
                try {
                    Practicante p = (Practicante)pdv.lista_detalle.get(pdv.table_detalle.getSelectionModel().getMinSelectedIndex());
                if(p.getSeguroEmpresa() > 0|| p.getSeguroPracticante() !=0){
                         int res=dPracticante.UpdateSeguro(p.getPracticanteId(), true, this.pdv.prefactura.fecha.getCalendarioFacturacionPracticantesId());
                         if(res >= 0){
                                this.pdv.prefactura.vista.window_detail.setVisible(false);
                                this.pdv.prefactura.error("Seguro eliminado correctamente");
                         }
                         else{
                                this.pdv.prefactura.vista.window_detail.setVisible(false);
                                this.pdv.prefactura.error("Error en eliminacion de seguro");
                         }
                     }else{
                         int res=dPracticante.UpdateSeguro(p.getPracticanteId(), false,this.pdv.prefactura.fecha.getCalendarioFacturacionPracticantesId());
                         if(res >= 0){
                                this.pdv.prefactura.vista.window_detail.setVisible(false);
                                this.pdv.prefactura.error("Seguro agregado correctamente");
                         }
                         else{
                                this.pdv.prefactura.vista.window_detail.setVisible(false);
                                this.pdv.prefactura.error("Error en cobro de seguro");
                         }
                     }
            } catch (Exception e) {
            }
                finally{
                    this.pdv.prefactura.vista.window_detail.setVisible(false);
                    this.pdv.prefactura.refreshTabla();
                }
        }

    }
}
